<?php
/**
 * 源代码整合工具使用示例
 */

// 引入整合工具
require_once 'g.php';

// 示例1: 基本使用
echo "=== 示例1: 基本使用 ===\n";
$integrator = new CodeIntegrator();

// 设置要扫描的目录
$sourceDirs = [
    './codes',     // 扫描codes目录
    './pages'      // 扫描pages目录
];

// 设置输出文件
$outputFile = './output/code_only_integration.txt';

// 执行整合
try {
    $integrator->integrate($sourceDirs, $outputFile);
    echo "基本整合完成！\n\n";
} catch (Exception $e) {
    echo "错误: " . $e->getMessage() . "\n\n";
}

// 示例2: 自定义配置使用
echo "=== 示例2: 自定义配置使用 ===\n";
$integrator2 = new CodeIntegrator();

// 自定义支持的文件扩展名（只包含Web相关代码文件）
$customExtensions = ['html', 'css', 'js', 'php'];
$integrator2->setSupportedExtensions($customExtensions);

// 自定义排除目录
$customExcludeDirs = ['.git', 'node_modules', 'vendor', 'logs'];
$integrator2->setExcludeDirs($customExcludeDirs);

// 自定义排除文件
$customExcludeFiles = ['composer.lock', 'package-lock.json', '.DS_Store'];
$integrator2->setExcludeFiles($customExcludeFiles);

// 设置输出文件
$outputFile2 = './output/web_code_only_integration.txt';

// 执行整合（带自定义选项）
$options = [
    'extensions' => $customExtensions,
    'exclude_dirs' => $customExcludeDirs,
    'exclude_files' => $customExcludeFiles
];

try {
    $integrator2->integrate($sourceDirs, $outputFile2, $options);
    echo "自定义配置整合完成！\n\n";
} catch (Exception $e) {
    echo "错误: " . $e->getMessage() . "\n\n";
}

// 示例3: 只整合后端代码
echo "=== 示例3: 只整合后端代码 ===\n";
$integrator3 = new CodeIntegrator();

// 设置只包含Python和配置文件
$backendExtensions = ['py', 'json'];
$integrator3->setSupportedExtensions($backendExtensions);

// 设置源目录为codes目录
$backendDirs = ['./codes'];

// 设置输出文件
$outputFile3 = './output/backend_code_only_integration.txt';

try {
    $integrator3->integrate($backendDirs, $outputFile3);
    echo "后端代码整合完成！\n\n";
} catch (Exception $e) {
    echo "错误: " . $e->getMessage() . "\n\n";
}

echo "所有示例执行完毕！\n";
echo "请查看output目录下的整合文件。\n";
?>